package clienteServidor.hilosServidor;

import java.io.IOException;
import java.net.Socket;

import clienteServidor.socket.ServidorSocketTCP;

public class HiloAceptarClientes extends Thread{
	private ServidorSocketTCP servidor;
	
	public HiloAceptarClientes(ServidorSocketTCP servidor) {
		this.servidor= servidor;
	}
	
	@Override
	public void run() {
		try {
			while(servidor.isAceptarConexiones()){			
				System.out.println("Esperando un nuevo cliente via socket en el puerto: "+servidor.getPuerto());
				Socket cliente = servidor.getServidorSocket().accept();
				cliente.setSoLinger(true, 15);
				HiloAtenderCliente hac= new HiloAtenderCliente(servidor, cliente);
				hac.start();
				
				System.out.println("Hay que esperar a un nuevo cliente.....");
			}
			
			System.out.println("Ya No se aceptan nuevas conexiones.");
			servidor.cerrarConexiones();
		}catch (IOException e) {
			e.printStackTrace();
		}
	}
}
